home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / DTS Sample Code / Macintosh Sample Code / SC.013.OOPTESample / UApplication.p < prev    next >
Encoding:
Text File  |  1989-09-30  |  3.8 KB  |  111 lines  |  [TEXT/MPS ]

  1. {---------------------------------------------------------------------
  2. #
  3. #    Apple Macintosh Developer Technical Support
  4. #
  5. #    MultiFinder-Aware Simple TextEdit Sample Application
  6. #
  7. #    OOPTESample
  8. #
  9. #    UApplication.p        -    Pascal Source
  10. #
  11. #    Copyright © 1988, 1989 Apple Computer, Inc.
  12. #    All rights reserved.
  13. #
  14. #    Version:        
  15. #                    1.10                    10/89
  16. #                    1.00                    04/89
  17. #
  18. #    Components:     
  19. #                    BuildOOPTESample        October 1, 1989
  20. #                    MOOPTESample.p            October 1, 1989
  21. #                    OOPTESample.make        October 1, 1989
  22. #                    TECommon.h                October 1, 1989
  23. #                    TESampleGlue.a            October 1, 1989
  24. #                    TESample.r                October 1, 1989
  25. #                    UApplication.p            October 1, 1989
  26. #                    UApplication.inc1.p        October 1, 1989
  27. #                    UDocument.p                October 1, 1989
  28. #                    UDocument.inc1.p        October 1, 1989
  29. #                    UTEDocument.p            October 1, 1989
  30. #                    UTEDocument.inc1.p        October 1, 1989
  31. #                    UTESample.p                October 1, 1989
  32. #                    UTESample.inc1.p        October 1, 1989
  33. #
  34. ---------------------------------------------------------------------}
  35.  
  36. UNIT UApplication;
  37.  
  38. INTERFACE
  39.  
  40. USES
  41.     Types, QuickDraw, Events, OSUtils, ToolUtils, SegLoad, Fonts, Traps, Desk,
  42.     Menus, Memory, Controls, TextEdit, Windows, Dialogs,
  43.     ObjIntf, UDocument;
  44.  
  45. PROCEDURE AlertUser(errResID:integer; errCode:integer);
  46.  
  47. TYPE
  48.     TApplication = OBJECT(TObject)
  49.         fHaveWaitnextEvent: Boolean;
  50.         fDone: Boolean;
  51.         fTheEvent: EventRecord;
  52.         fWhichWindow: WindowPtr;
  53.         fInBackGround: Boolean;
  54.         fWantFrontClicks: Boolean;
  55.         fMouseRgn: RgnHandle;
  56.         fCurDoc: TDocument;
  57.         fDocList: TDocumentList;
  58.         
  59.         { Initialize our application and instance variables }
  60.         PROCEDURE TApplication.IApplication;
  61.         
  62.         { Call this routine to start event loop running }
  63.         PROCEDURE TApplication.EventLoop;
  64.         
  65.         { Loop control methods you may need to override }
  66.         PROCEDURE TApplication.Setup;        { Run before event loop starts }
  67.         PROCEDURE TApplication.CleanUp;        { Run at end of loop }
  68.         PROCEDURE TApplication.ExitLoop;    { Call this to exit loop }
  69.         PROCEDURE TApplication.DoIdle;        { Idle time handler (blink caret, background tasks) }
  70.         PROCEDURE TApplication.AdjustMenus;    { Menu Updater routine }
  71.         
  72.         { Event Handlers you shouldn't need to override in a typical application }
  73.         PROCEDURE TApplication.HdlOSEvent;        { Calls DoSuspend, DoResume and DoIdle as apropos }
  74.         PROCEDURE TApplication.HdlMouseDown;    { Calls DoContent, DoGrow, DoZoom, etc }
  75.         PROCEDURE TApplication.HdlKeyDown;        { also called for autokey events }
  76.         PROCEDURE TApplication.HdlActivateEvt;    { handles setup, and calls DoActivate (below) }
  77.         PROCEDURE TApplication.HdlUpdateEvt;    { handles setup, and calls DoUpdate (below) }
  78.         PROCEDURE TApplication.HdlMouseUp;
  79.         PROCEDURE TApplication.HdlDiskEvt;
  80.         PROCEDURE TApplication.MouseInSysWindow;
  81.         PROCEDURE TApplication.DoDrag;
  82.         PROCEDURE TApplication.DoGoAway;    { handles setup, calls DoClose (below) }
  83.         
  84.         { Handlers you will need to override for functionality }
  85.         
  86.             { Called by EventLoop and its handlers }
  87.             PROCEDURE TApplication.AdjustCursor;    { cursor adjust routine, should setup mouseRgn }
  88.             PROCEDURE TApplication.DoMenuCommand(menuID,menuItem: integer);
  89.             
  90.             { Called by OSEvent. Just calls DoActivate by default, so no clip conversion }
  91.             { is done. If you want to convert the clipboard, override these routines. }
  92.             PROCEDURE TApplication.DoSuspend(VAR doClipConvert:Boolean);
  93.             PROCEDURE TApplication.DoResume(VAR doClipConvert:Boolean);
  94.  
  95.         { Utility routines }
  96.             FUNCTION TApplication.TrapAvailable(tNumber:integer;tType:TrapType):Boolean;
  97.             FUNCTION TApplication.DocList:TDocumentList;
  98.             
  99.             { Return total stack and heap space required in bytes. Returns 0 by default. }
  100.             FUNCTION TApplication.StackNeeded: Longint;
  101.             FUNCTION TApplication.HeapNeeded: Longint;
  102.             
  103.             { Utility routines you will need ot provide to do MultiFinder stuff }
  104.             FUNCTION TApplication.SleepVal: LongInt;
  105.     END;
  106.     
  107. IMPLEMENTATION
  108.  
  109. {$I UApplication.inc1.p}
  110.  
  111. END.